//author:jxx
//此处是对表单的方法，组件，权限操作按钮等进行任意扩展(方法扩展可参照SellOrder.js)
let extension = {
    components: {//动态扩充组件或组件路径
        //表单header、content、footer对应位置扩充的组件
        gridHeader:'',//{ template: "<div>扩展组xx件</div>" },
        gridBody: '',
        gridFooter: '',
        //弹出框(修改、编辑、查看)header、content、footer对应位置扩充的组件
        modelHeader: '',
        modelBody: () => import("../order/vSellOrderImg/vSellOrderImgModelBody.vue"),
        modelFooter: ''
    },
    buttons: {view: [], box:[],  detail:[]},//扩展的按钮
    methods: {//事件扩展
       onInit() {
        let options = {
            field: 'oper', title: '操作',
            type: 'text', width: 100,
            //返回一个标签
            formatter: (row) => {
              return '<a>添加标注点</a>'
            },
            //触发事件,可以在此事件再打开一个弹出框等操作
            click: (row, column, event) => {
                this.$tabs.open({
                    text: row.name,
                    path: "/vrviews/"+row.vrid,
                    query: {},
                  });
            }
          }
          //在获取个人简介列的位置列后添加一行操作列
          this.columns.push( options)
          this.$store.getters.getData().sellOrderImg = this;
       },
       onInited() {
        let _index = 0;
        //初始化一个空对象存储明细表编辑的行
        this.detailImgRow = {};
        let $this = this;
        this.height = this.height - 36;
        //获取图片位置，在图片后面加一个上传按钮
        for (let index = 0; index < this.detail.columns.length; index++) {
          const element = this.detail.columns[index];
          //找到图片显示的位置,此处将Remark字段当作图片字段
          if (element.field == "scenesImg") {
            _index = index;
            //设置单元格显示为图片,并禁止编辑
            Object.assign(element, { edit: null, type: 'img', title: '全景图' });
          }
        }
        //从表动态添加一列(上传图片列)
        this.detail.columns.splice(_index, 0, {
          field: "scenesImg", title: "上传图片", width: 100,
          formatter: function () { return '<a class="oper-btn">选择图片</a>'; },
          //点击上传图片事件
          click: row => {
            console.log('row',row)
            $this.$refs.modelBody.fileInfo.splice(0);
            //点击弹出框上传图片时，初始化当前选中行的图片
            if (row.scenesImg) {
              row.scenesImg.split(",").forEach(img => {
                // fileInfo格式参数，见volupload组件
                $this.$refs.modelBody.fileInfo.push({ path: img, name: "" });
              })
            }
            //记录明细表当前操作的行
            $this.detailImgRow = row;
            console.log('row',row)
            //弹出自己写的vue弹出框(vSellOrderImgModelBody.vue)
            $this.$refs.modelBody.img_model = true;
          }
        })
      },
      rowClick ({ row, column, event }) { //查询界面table点击行选中当前行
        this.$refs.table.$refs.table.toggleRowSelection(row);
      },
    }
};
export default extension;